:root {
    --dark-bg: #111416;
    --text-color: #FFFFFF;
    --accent-color: #C6B4FF;
}

@font-face {
    font-family: 'Solenoidal';
    src: url('./assets/fonts/Solenoidal.ttf') format('ttf');
}

@font-face {
    font-family: 'Marjorie-Italic';
    src: url('./assets/fonts/Marjorie-Italic.ttf');
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: "Cactus Classical Serif", serif;
    font-weight: 400;
    font-style: normal;
    color: #FFFFFF;
    line-height: 1.6;
    font-size: clamp(14px, 1vw, 20px);
}

h1{
    font-family: "Solenoidal", sans-serif;
    font-weight: 400;
    font-size: clamp(36px, 6vw ,96px);
    color: black;
    text-align: center;
}

.hero, .ending{
    display: flex;
    flex-direction: column;
    align-items: center;
    height: fit-content;
    padding: 0 6.5vmax;
}

.hero__container, .ending__container{
    display: grid;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-height: 100%;
    position: relative;
    z-index: -1;
    grid-template-columns: 1;
    grid-template-rows: 1;
    padding: 1vmax 0;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
}

.hero__img, .ending__img{
    grid-row: 1;
    grid-column: 1;
    width: 100%;
}

.hero__content, .ending__content{
    grid-row: 1;
    grid-column: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: "Marjorie-Italic", serif;
    font-weight: 300;
    font-size: clamp(16px, 2vw, 32px);
    padding: 0;
    height: 100%;
    justify-content: center;
    height: fit-content;
    margin: 5vmax 2vmax;
    margin-top: auto;
    gap: 1vmax;
    text-align: center;
}

.hero h2{
    margin-bottom: 5vmax;
    font-size: clamp(16px, 4vw, 96px);
}

.cta__buttons{
    display: flex;
}

.prices{
    display: flex;
    gap: 2vmax;
}

.price{
    font-size: clamp(16px, 2.5vw, 64px);
    text-shadow: 1px 1px 5px #000;
}

.call__button{
    padding: 10px 3em;
    background-color: #FFFFFF;
    margin: 5px;
    font-family: "Solenoidal", sans-serif;
    color: #000;
    text-decoration: none;
    font-size: clamp(16px, 2vw, 32px);
    text-align: center;
}

.about {
    display: flex;
    padding: 1vmax 6.5vmax;
    background-color: #FFFFFF;
    color: #000000;
    gap: 2vmax;
}


.about__content {
    display: flex;
    align-items: flex-start;
    width: 50%;
    flex-direction: column;
    gap: 2vmax;
    align-items: center;
    justify-content: center;
}

.about__content h2 {
    font-family: "Solenoidal", sans-serif;
    font-weight: 400;
    font-size: clamp(24px,3.5vw,64px);
    line-height: 1;
}

.about__content h3 {
    font-family: "Solenoidal", serif;
    font-weight: 300;
    font-size: clamp(18px,2vw,32px);
    line-height: 1;
}

.about__content p {
    font-family: "Cactus Classical Serif", serif;
    line-height: 1.6;
}

.about__image {
    max-width: 50%;
    height: auto;
    object-fit: cover;
}

.about .cta__buttons {
    margin-top: 2vmax;
    width: 100%;
}

.about .call__button {
    background-color: #000000;
    color: #FFFFFF;
    padding: 10px 0 ;
    width: 50%;
}

.articles{
    display: flex;
    border-top: 1px solid #000;
    margin: 0 6.5vmax 1vmax;
    justify-content: space-between;
}

.article{
    display: flex;
    flex-direction: column;
    width: 33%;
    color: #000;
    padding: 1vmin;
    padding-bottom: 0;
    gap: 1vmax;
    justify-content: space-between;
    line-height: 1.6;
}

.article h2{
    font-family: "Marjorie-Italic";
}

.article2{
    border-left: 1px solid #000;
    border-right: 1px solid #000;
    justify-content: flex-start;
}

.article .call__button{
    background-color: #000000;
    color: #FFFFFF;
}

.article .cta__buttons{
    display: flex;
    margin: 0 auto;
}



.article1 .call__button{
    margin-left: 0;
}

.article3{
    padding-right: 0;
}

.article3 .call__button{
    margin-right: 0;
}

.articles{
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 0;
}
.article{
    margin: 0;
    width: 100%;
    padding-bottom: 1vmin;
}
.article1{
    grid-column: 1 / -1;
    padding: 0;
}

.article1, .article3{
    margin-top: 1em;
}

.article2{
    padding-left: 0;
    border-left: 0;
}

.article1{
    padding-left: 0;
    order: 2;
    border-top: 1px solid #000;
    margin-top: 0;
    padding: 2vmin;
    text-align: center;
}

.article img{
    height: 400px;
    object-fit: cover;
}

.article1 p{
    width: 1400px;
    max-width: 100%;
    margin: 0 auto;
}

.ending{
    display: grid;
}

.ending__container{
    border-bottom: none;
}

.ending__content{
    text-align: left;
    align-items: flex-start;
    justify-self: flex-end;
    height: fit-content;
    margin: 5vmax 2vmax;
    margin-top: auto;
}

.ending .call__button:first-child{
    margin-left: 0;
}

.ending h2{
    font-family: "Solenoidal";
    font-weight: 400;
    font-size: clamp(24px, 4vw, 64px);
}

.ending p{
    font-family: "Cactus Classical Serif";
    font-size: clamp(14px, 1vw, 20px);
    width: 50%;
}

footer{
    background-color: #000;
    margin-top: 2vmax;
}

.footer__links{
    display: flex;
    justify-content: center;
    gap: 3vmax;
    color: #FFFFFF;
    padding: .5vmax;
}

.footer__links a{
    color: inherit;
    text-decoration: none;
}

@media(max-width: 1000px){
    
    
}

@media(max-width: 800px){
    .hero, .about, .ending{
        padding: 3vmin;
    }
    .articles{
        margin: 0 3vmin 1vmax;
    }
    .hero__container{
        height: fit-content;
    }
    .hero__img{
        height: 100%;
        object-fit: cover;
    }
    .hero__content{
        margin: 0 auto;
        max-width: 60%;
        max-height: 80%;
    }
    .hero h2{
        margin-bottom: 0;
    }
    .hero .call__button{
        padding: 10px 0;
        width: 50%;
    }
    .hero .cta__buttons{
        width: 100%;
    }
}

@media(max-width: 700px){
    .hero__content{
        margin: 0 auto;
        max-width: 80%;
        max-height: 80%;
        margin: 10vmax auto
    }
    .hero{
        height: fit-content;
    }
    .hero__container{
        height: fit-content;
    }
    .hero__content{
        margin: 5vmax auto;
    }
    .hero .cta__buttons{
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .hero .call__button{
        width: 100%;
    }
    .about{
        flex-direction: column;
    }
    .about__image{
        width: 100%;
        max-width: 100%;
    }
    .about__content{
        order: 2;
        width: 100%;
    }
    .about .cta__buttons{
        margin-top: 0;
    }
    .ending__container{
        width: 100%;
    }
    .ending__content{
        margin: 5vmax;
    }
    .ending__img{
        height: 100%;
        object-fit: cover;
    }
    .ending p{
        width: 100%;
    }
    .footer__links{
        display: grid;
        grid-template-columns: 50% 50%;
        justify-items: center;
        padding: 3vmax;
        gap: 3vmax;
        text-align: center;
    }
    .footer__links a{
        font-size: clamp(12px, 1vw, 16px);
    }
}

@media(max-width: 600px){
    .prices{
        flex-direction: column;
        gap: 0;
    }
    .price{
        font-size: clamp(16px, 6vw, 64px);
    }
    .hero__content{
        padding: 0;
        width: 100%;
    }
    .hero h2{
        font-size: clamp(16px, 8vw, 64px);
    }
    .hero .cta__buttons{
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .ending .cta__buttons{
        width: 100%;
    }
    .ending .call__button{
        padding: 10px 0;
        width: 50%;
    }
    .ending__content{
        margin: 5vmax 2vmax;
    }
    .article2{
        padding-right: 1vmax;
    }
    .article3{
        padding-left: 1vmax;
    }
    .article1{
        text-align: left;
        padding: 0;
        padding-top: 1vmin;
    }
    .article1 .cta__buttons{
        width: 100%;
    }
    .article1 .call__button{
        width: 50%;
    }
}

@media(max-width: 500px){
    .article1 .cta__buttons{
        flex-direction: column;
        width: 100%;
    }
    .article1 .call__button{
        width: 100%;
    }
}